package com.yedean.factory.context.event;

import com.yedean.factory.context.ApplicationEvent;
import com.yedean.factory.context.ApplicationListener;
import sun.applet.AppletListener;

/**
 * @author yedean
 * @date 2022/7/15
 */
public interface ApplicationEventMulticaster {

    /**
     * 
     * 添加监听器
     */
    void addApplicationListener(ApplicationListener<?> listener);


    /**
     * 移除监听器
     */
    void removeApplicationListener(ApplicationListener<?> listener);


    /**
     * 分发器 把事件分发到对应的监听器
     * @param event 事件
     */
    void multicastEvent(ApplicationEvent event);
}
